

using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.IO;
namespace project.banners_dir
{
    public partial class main_banners : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            PanelAviso.Visible = false;
            if (!Page.IsPostBack)
            {
                // Borrar
                if (Request["idb"] != null)
                {
                    banners.Delete(sf.entero(Request["idb"]));
                    Response.Redirect("./listado_banners.aspx");
                }
                // Editar
                if (Request["id"] != null)
                {
                    banners res = new banners(sf.entero(Request["id"]));

                    txtposicion.Text = sf.cadena(res.posicion);



                    if (sf.cadena(res.imagen) != "")
                    {
                        imgimagen.ImageUrl = res.imagen;
                        imgimagen.Visible = true;
                        //imgNoticia.AlternateText = " " + res.titulo;
                        btnborrarimagenimagen.Visible = true;
                        FileUploadImagenimagen.Visible = false;
                    }


                    txturl.Text = res.url;



                    txtnombre.Text = res.nombre;


                    cklibre.Checked = sf.Bool(res.libre);
                }
                else
                {
                    butModificar.Text = "Insertar";
                }
            }
        }
        protected void butModificar_Click(object sender, EventArgs e)
        {
            lblinfo.Text = "";
            // modificar
            if (Request["id"] != null)
            {
                banners res = new banners(sf.entero(Request["id"]));






                res.posicion = sf.entero(txtposicion.Text);



                if (FileUploadImagenimagen.PostedFile == null) { }
                else
                {
                    if (FileUploadImagenimagen.FileName != "")
                    {
                        if (!System.IO.File.Exists(Server.MapPath("../../bdimages/") + FileUploadImagenimagen.FileName))
                        {

                            string cad = Server.MapPath("../../bdimages/") + FileUploadImagenimagen.FileName;

                            MemoryStream mem = new MemoryStream();
                            mem = redimensionarImagen.Redimensiona(FileUploadImagenimagen.PostedFile.InputStream, 80, 72);
                            FileStream file = new FileStream(cad, System.IO.FileMode.CreateNew);

                            file.Write(mem.GetBuffer(), 0, sf.entero(mem.Position));
                            file.Flush();
                            file.Close();
                            file = null;

                            res.imagen = "../../bdimages/" + FileUploadImagenimagen.FileName;
                            //FileUploadImagenimagen.SaveAs(Server.MapPath("../../bdimages/") + sf.cadena(HttpContext.Current.Session["admin"]) + FileUploadImagenimagen.FileName);
                            imgimagen.ImageUrl = res.imagen;
                            //imgimagen.AlternateText = " " + res.titulo;
                            imgimagen.Visible = true;
                            btnborrarimagenimagen.Visible = true;
                            FileUploadImagenimagen.Visible = false;

                        }
                        else
                        {
                            mensaje("El archivo ya existe, elija otro nombre", false);
                        }

                    }
                }



                res.url = sf.SafeSql(sf.cadena(txturl.Text));



                res.nombre = sf.SafeSql(sf.cadena(txtnombre.Text));



                res.libre = sf.Bool(cklibre.Checked);
                if (lblinfo.Text == "")
                {
                    res.Update();
                    res = null;
                    mensaje("Modificado con exito", true);
                }
            }
            // insertar...
            else
            {
                banners res = new banners();




                res.posicion = sf.entero(txtposicion.Text);


                if (FileUploadImagenimagen.PostedFile == null) { }
                else
                {
                    if (FileUploadImagenimagen.FileName != "")
                    {
                        if (!System.IO.File.Exists(Server.MapPath("../../bdimages/") + sf.cadena(HttpContext.Current.Session["admin"]) + FileUploadImagenimagen.FileName))
                        {
                            res.imagen = "../../bdimages/" + sf.cadena(HttpContext.Current.Session["admin"]) + FileUploadImagenimagen.FileName;
                            FileUploadImagenimagen.SaveAs(Server.MapPath("../../bdimages/") + sf.cadena(HttpContext.Current.Session["admin"]) + FileUploadImagenimagen.FileName);
                            imgimagen.ImageUrl = res.imagen;
                            //imgimagen.AlternateText = " " + res.titulo;
                            imgimagen.Visible = true;
                            btnborrarimagenimagen.Visible = true;
                            FileUploadImagenimagen.Visible = false;
                        }
                        else
                        {
                            mensaje("El archivo ya existe, elija otro nombre", false);
                        }

                    }
                }


                res.url = sf.SafeSql(sf.cadena(txturl.Text));


                res.nombre = sf.SafeSql(sf.cadena(txtnombre.Text));


                res.libre = sf.Bool(cklibre.Checked);
                if (lblinfo.Text == "")
                {
                    banners.Insert(res);
                    res = null;
                    mensaje("Insertado con exito", true);
                }


            }
        }


        private void mensaje(string p, bool ok)
        {
            if (!ok)
                PanelAviso.CssClass = "error";
            else
                PanelAviso.CssClass = "aviso";
            lblinfo.Text = p;
            lblinfo.Visible = true;
            PanelAviso.Visible = true;
        }
        protected void butCancelar_Click(object sender, EventArgs e)
        {
        }




        // funciones extra para campos extra






        protected void btnborrarimagenimagen_Click(object sender, EventArgs e)
        {
            banners res = new banners(sf.entero(Request["id"]));

            res.imagen = "";
            res.Update();
            imgimagen.Visible = false;
            btnborrarimagenimagen.Visible = false;
            //txtTextoAlternativoimagen.Text = "";

            if (System.IO.File.Exists(Server.MapPath(imgimagen.ImageUrl.ToString())))
                System.IO.File.Delete(Server.MapPath(imgimagen.ImageUrl.ToString()));
            FileUploadImagenimagen.Visible = true;


        }

















    }
}